// 自定义事件侦听器

var program = require('commander');

program
  .version('0.0.1', '-V, --version')
  //写了这里之后,所有监听就不能用了
  .command('rm')
  
  //写了这里之后，command监听就不能用了，注释了之后可以用 command:*
  .action(function (cmd) {
    console.log(123)
  })
  .option('-r, --recursive', 'Remove recursively')
  .option('-g, --git [type]', 'Add [marble]', 'Angie')
  .option('-a, --am',"ampm");
  
program.on('option:am', function () {
  console.log("option:am")
});
program.on('option:recursive', function () {
  console.log("option:recursive")
});
program.on('command:rm', function (dir,cmd) { // 这里没搞明白怎么用,官网好像也没找到
  console.log("command:rm",dir)
});
program.on('option:git', function (value) {
  console.log("option:git",value)
});
program.on('command:*', function (args) {
  console.log(987,args)
  console.error('Invalid command: %s\n', program.args.join(' '));
  process.exit(1);
});
program.on('--help', function() {
  console.log('****************');
  console.log('Examples:');
  console.log('****************');
  console.log('  $ deploy exec sequential');
  console.log('  $ deploy exec async');
});
program.parse(process.argv);

/* 

node demo7 rm -r -a -g fff   

 */